home *** CD-ROM | disk | FTP | other *** search
/ CD Pro / CD Pro.iso / Lan / Intel558 / OEMSETUP.INF < prev    next >
INI File  |  1997-07-31  |  67KB  |  1,819 lines

  1. ;***********************************************************************
  2. ; Windows NT OEMSETUP.INF for
  3. ;
  4. ;       Intel EtherExpress PRO/100+ PCI Adapter
  5. ;
  6. ; Copyright⌐ 1994-1997 Intel Corporation.  All rights reserved.
  7. ;***********************************************************************
  8. ;
  9. ; *****************  Version 29  *****************
  10. ;
  11. [Identification]
  12. OptionType = NetAdapter
  13. [PlatformsSupported]
  14. ISA
  15. EISA
  16. MCA
  17. PCI
  18. "Jazz-Internal Bus"
  19. [LanguagesSupported]
  20. ENG
  21. [Options]
  22. E100BEXP
  23. E100BPCI
  24. E10PPCI
  25. E100BRWA
  26. [OptionsTextENG]
  27. E100BEXP  = "Intel EtherExpress PRO Adapter"
  28. [FileConstants]
  29. NDIS3Name = "E100B"
  30. NDIS4Name = "E100BNT"
  31. ExeName   = "PROSET"
  32. Sp1Name   = "EP100DG"
  33. Sp3Name   = "SPDO3DG"
  34. KddName   = "PROKDD"
  35. ProdHelp  = "E100SET"
  36. GenHelp   = "557SET"
  37. DllName   = "EPRO100"
  38. AftName      = "IAFT"
  39. Manufacturer = "Intel"
  40. ProductSoftwareName  = "E100B"
  41. ProductSoftwareTitle = "Intel EtherExpress PRO Adapter"
  42. ProductSoftwareImagePathNDIS3 = "%SystemRoot%\System32\drivers\e100b.sys"
  43. ProductSoftwareImagePathNDIS4 = "%SystemRoot%\System32\drivers\e100bnt.sys"
  44. NetRuleSoftwareType     = "E100BSys ndisDriver E100BDriver"
  45. NetRuleSoftwareBindForm = """E100BSys"" yes no container"
  46. NetRuleSoftwareClass    = {"E100BDriver basic"}
  47. NetRuleSoftwareBindable = {"E100BDriver E100BAdapter non exclusive 100"}
  48. ImagePathNDIS3 = "\SystemRoot\System32\drivers\e100b.sys"
  49. ImagePathNDIS4 = "\SystemRoot\System32\drivers\e100bnt.sys"
  50. Configure = "EPRO100_Configure"
  51. Detect = "EPRO100_Detect"
  52. Diagnose = "EPRO100_Diagnose"
  53. DLL = "EPRO100.DLL"
  54. RegistryKey = "EPRO100_GetRegistryKey"
  55. Summary = "EPRO100_Resource_Summary"
  56. AdapterDescription = "EPRO100_GetAdapterDescription"
  57. InstallAnyway = "EPRO100_InstallAnyway"
  58. DeviceExist = "EPRO100_DeviceExist"
  59. GetExtendedFeatures = "EPRO100_GetExtendedFeatures"
  60. Adapter = "Intel EtherExpress PRO Adapter"
  61. Help = "E100SET.HLP"
  62. ExeKeyName = $(!NTN_ServiceBase)"\PROSet"
  63. ExeAdapterName = "EPRO100"
  64. ExeParameters = "Parameters"
  65. ProductHardwareName     = "E100B"
  66. ProductHardwareTitle    = "Intel EtherExpress PRO Adapter"
  67. ProductHardwareDescription = "Intel EtherExpress PRO Adapter"
  68. NetRuleHardwareType     = "E100B E100BAdapter"
  69. NetRuleHardwareBindForm = " yes yes container"
  70. NetRuleHardwareClass    = {"E100BAdapter basic"}
  71. ProductHardwareE100BEXPTitle       = "Intel EtherExpress PRO Adapter"
  72. ProductHardwareE100BEXPDescription = "Intel EtherExpress PRO Adapter"
  73. FuncTitle = "Intel EtherExpress PRO Adapter Setup"
  74. ProdSoftwareDescription = "Intel EtherExpress PRO Adapter Driver"
  75. ProdHardwareDescription = $(ProductHardwareTitle)
  76. Disk1 = "Intel EtherExpress PRO Adapter Driver Disk"
  77. Path = "NT\"   
  78. BusNumber = "0,7,BusNumber,0,2,0,0,16,1"
  79. BusType = "0,7,BusType,0,2,5,2,5,1"
  80. BusTypeLocal = "0,7,BusTypeLocal,0,2,5,2,5,1"
  81. Eid = "0,7,Eid,0,2,0,0,4294967295,1"
  82. Enhanced = "1,4,Enhanced Mode,0,1,On,Off,On"
  83. Fifo = "0,3,Fifo Depth,0,2,12,0,15,1"
  84. ForceDpx = "1,4,Duplex Mode,0,1,Auto,Auto,Half,Full"
  85. MediaType = "0,7,MediaType,0,2,1,1,1,1"
  86. MsPciScan = "0,4,MsPciScan,0,2,1,0,1,1"
  87. NumCoalesce = "1,7,Coalesce Buffers,0,2,8,1,32,1"
  88. NumRfd = "1,7,Receive Buffers,0,2,32,1,1024,1"
  89. NumTbd = "0,3,Transmit Buffer Descriptors,0,2,64,1,65535,1"
  90. NumTbdPerTcb = "0,4,Transmit Buffers per Frame,0,2,12,1,16,1"
  91. NumTcb = "1,7,Transmit Control Blocks,0,2,16,1,80,1"
  92. Off = "1,3,Off Timer,0,2,2,1,65535,1"
  93. On = "1,3,On Timer,0,2,32768,1,65535,1"
  94. RxDmaCount = "0,4,RxDmaCount,0,2,0,0,63,1"
  95. RxFifo = "0,4,Receive Fifo Depth,0,2,8,0,15,1"
  96. SlotNumber = "0,7,SlotNumber,0,2,0,0,16,1"
  97. Speed = "1,7,Network Speed,0,4,Auto,Auto,0,10Mbps,10,100Mbps,100"
  98. Threshold = "0,7,Transmit Threshold,0,2,16,0,200,1"
  99. TxDmaCount = "0,4,TxDmaCount,0,2,0,0,63,1"
  100. TxFifo = "0,4,Transmit Fifo Depth,0,2,8,0,15,1"
  101. UnderrunRetry = "0,4,UnderrunRetry,0,2,1,0,3,1"
  102. PerfOptims = "0,4,PerfOptims,0,2,0,0,65535,1"
  103. UcodeSW = "0,7,UcodeSW,0,2,1,0,1,1"
  104. Adaptive_IFS = "1,7,Adaptive Inter-Frame Spacing,0,2,1,0,255,1"
  105. Txmitwait = "0,7,Txmitwait,0,2,1,0,255,1"
  106. OLD_1BYTE  = 139
  107. OLD_2BYTE  = 98
  108. NETCARD_ID = 25227
  109. ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  110. ParamKeyName   = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  111. UtilityInf    = "UTILITY.INF"
  112. ParamInf      = "NCPARAM.INF"
  113. subroutineinf = "SUBROUTN.INF"
  114. SoftwareType  = "driver"
  115. Exit_Code     = 0
  116. NetRuleSoftwareUse = $(SoftwareType)
  117. NetEventDLL = "%SystemRoot%\System32\netevent.dll"
  118. IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
  119. ProductMajorVersion = "3"
  120. ProductMinorVersion = "0"
  121. ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
  122. ATeamSoftwareType = "driver"
  123. ProductATeamMajorVersion = "4"
  124. ProductATeamMinorVersion = "0"
  125. ProductATeamSoftwareTitle          = "Intel Adapter Fault Tolerance NDIS Miniport Driver"
  126. ProductATeamSoftwareDescription    = "Intel Adapter Fault Tolerance NDIS Miniport Driver Description"
  127. ProductATeamTransportTitle         = "Intel Adapter Fault Tolerance Module"
  128. ProductATeamTransportDescription   = "A software module that provides the Intel Adapter Fault Tolerance capability to your EtherExpress adapter."
  129. ProductATeamHardwareTitle          = "Intel Adapter Fault Tolerance Team"
  130. ProductATeamHardwareDescription    = "A team of Intel EtherExpress PRO/100+ Adapters working together to provide high availability, fail safe network operation."
  131. ProductATeamSoftwareImagePath      = "\SystemRoot\System32\drivers\iaft.sys"
  132. NetRuleATeamSoftwareReview   = 1
  133. ProductATeamSoftwareName = "iAFT"
  134. NetRuleATeamSoftwareType = "iaftSys intermediateDriver"
  135. NetRuleATeamSoftwareUse = $(SoftwareType)" none none"
  136. NetRuleATeamSoftwareBindForm = """iaftSys"" yes no container"
  137. NetRuleATeamSoftwareClass = { +
  138. "intermediateDriver ndisDriver yes" +
  139. }
  140. NetRuleATeamSoftwareBindable = { +
  141. "intermediateDriver virtualAdapter non exclusive 100", +
  142. }
  143. ProductATeamTransportName = "iAFTProtocol"
  144. NetRuleATeamTransportType = "multispan intermediateTransport"
  145. NetRuleATeamTransportUse = "transport none none"
  146. NetRuleATeamTransportBindForm = "iAFTProtocol yes yes container"
  147. NetRuleATeamTransportClass = { +
  148. "intermediateTransport basic yes", +
  149. }
  150. NetRuleATeamTransportBindable = { +
  151. "intermediateTransport ndisDriver non non 100", +
  152. }
  153. ProductATeamHardwareName = "iAFT"
  154. NetRuleATeamHardwareType = "iAFT virtualAdapter"
  155. NetRuleATeamHardwareClass = {"virtualAdapter basic"}
  156. NetRuleATeamHardwareBindForm = " yes yes container"
  157. ATeamTransportKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductATeamTransportName)"\CurrentVersion"
  158. ATeamTransportParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductATeamTransportName)"\Parameters"
  159. ProductATeamKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductATeamSoftwareName)"\CurrentVersion"
  160. PROSetKeyName = $(!NTN_ServiceBase)"\PROSet"
  161. PROSetAdapterName = "EPRO100"
  162. PROSetParameters = "Parameters"
  163. EE16_1BYTE = 139
  164. EE16_2BYTE = 98
  165. NETCARD_ID = 25227
  166. [Files-Inf]
  167. 1, oemsetup.inf, SIZE=50000, RENAME=$(!UG_Filename)
  168. [Files-N3NDIS3]
  169. 1, $(Path)$(NDIS3Name).SY_, SIZE=50000, RENAME=$(NDIS3Name).SYS
  170. [Files-N3NDIS4]
  171. 1, $(Path)$(NDIS4Name).SY_, SIZE=50000, RENAME=$(NDIS4Name).SYS
  172. 1, $(Path)$(AftName).SY_,     SIZE=50000, RENAME=$(AftName).SYS
  173. [Files-Exe]
  174. 1, $(Path)$(ExeName).EX_,  SIZE=50000, RENAME=$(ExeName).EXE
  175. 1, $(Path)$(ExeName).CP_,  SIZE=50000, RENAME=$(ExeName).CPL
  176. 1, $(Path)$(Sp1Name).DL_,  SIZE=50000, RENAME=$(Sp1Name).DLL
  177. 1, $(Path)$(ProdHelp).HL_, SIZE=50000, RENAME=$(ProdHelp).HLP
  178. 1, $(Path)$(GenHelp).HL_, SIZE=50000, RENAME=$(GenHelp).HLP
  179. 1, $(Path)$(DllName).DL_,  SIZE=50000, RENAME=$(DllName).DLL
  180. [Files-Exe-Drivers]
  181. 1, $(Path)$(Sp3Name).SY_,  SIZE=50000, RENAME=$(Sp3Name).SYS
  182. 1, $(Path)$(KddName).SY_,  SIZE=50000, RENAME=$(KddName).SYS
  183. [ProductType]
  184. STF_PRODUCT  = Winnt
  185. STF_PLATFORM = I386
  186. [GeneralConstants]
  187. from = ""
  188. to   = ""
  189. ExitCodeOk     = 0
  190. ExitCodeCancel = 1
  191. ExitCodeFatal  = 2
  192. KeyNull         = ""
  193. MAXIMUM_ALLOWED   = 33554432
  194. RegistryErrorIndex = NO_ERROR
  195. KeyProduct      = ""
  196. KeyParameters   = ""
  197. TRUE            = 1
  198. FALSE           = 0
  199. NoTitle         = 0
  200. ExitState   = "Active"
  201. OldVersionExisted = $(FALSE)
  202. DriverPath      = $(!STF_NTPATH)\drivers
  203. [FileConstantsENG]
  204. ProCaption   = "Windows NT Setup"
  205. ProCancel    = "Cancel"
  206. ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
  207. "Are you sure you want to cancel copying files?"
  208. ProCancelCap = "Network Setup Message"
  209. ProText1     = "Copying:"
  210. ProText2     = "To:"
  211. FunctionTitle = $(FuncTitle)
  212. ProductSoftwareDescription = $(ProdSoftwareDescription)
  213. ProductHardwareDescription = $(ProdHardwareDescription)
  214. ConnectionList  = {}
  215. ConnectionValues = {} 
  216. [date]
  217. Now = {} ? $(!LIBHANDLE) GetSystemDate
  218. [Source Media Descriptions]
  219. 1 = $(Disk1) , TAGFILE = d100disk
  220. [Signature]
  221. FileType = MICROSOFT_DRVLIB_FILE
  222. [GetSignature]
  223. read-syms Signature
  224. return $(FileType)
  225. [Identify]
  226. read-syms Identification
  227. set Status     = STATUS_SUCCESSFUL
  228. set Identifier = $(OptionType)
  229. set Media      = #("Source Media Descriptions", 1, 1)
  230. Return $(Status) $(Identifier) $(Media)
  231. [ReturnOptions]
  232. set Status        = STATUS_FAILED
  233. set OptionList     = {}
  234. set OptionTextList = {}
  235. set LanguageList = ^(LanguagesSupported, 1)
  236. Ifcontains(i) $($0) in $(LanguageList)
  237. ifstr(i) $($1) == ""
  238. goto returnoptions
  239. endif
  240. set PlatformList = ^(PlatformsSupported, 1)
  241. Ifcontains(i) $($1) in $(PlatformList)
  242. goto returnoptions
  243. else
  244. set Status = STATUS_NOTSUPPORTED
  245. goto finish_ReturnOptions
  246. endif
  247. else
  248. set Status = STATUS_NOLANGUAGE
  249. goto finish_ReturnOptions
  250. endif
  251. returnoptions = +
  252. set OptionList     = ^(Options, 1)
  253. set OptionTextList = ^(OptionsText$($0), 1)
  254. set Status         = STATUS_SUCCESSFUL
  255. finish_ReturnOptions = +
  256. Return $(Status) $(OptionList) $(OptionTextList)
  257. [InstallOption]
  258. set Status   = STATUS_FAILED
  259. set Option   = $($1)
  260. set SrcDir   = $($2)
  261. set AddCopy  = $($3)
  262. set DoCopy   = $($4)
  263. set DoConfig = $($5)
  264. set LanguageList = ^(LanguagesSupported, 1)
  265. Ifcontains(i) $($0) NOT-IN $(LanguageList)
  266. Return STATUS_NOLANGUAGE
  267. endif
  268. set-subst LF = "\n"
  269. read-syms GeneralConstants
  270. read-syms FileConstants
  271. ifstr(i) $(!NTN_Origination) == "NCPA"
  272. set Continue = "OK"
  273. endif
  274. read-syms FileConstants$(!STF_LANGUAGE)
  275. detect date
  276. set-title  $(FunctionTitle)
  277. set CurrentVersionValue = ""
  278. OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion" $(!REG_KEY_READ) KeyWinNT
  279. ifstr(i) $(KeyWinNT) != ""
  280. GetRegValue $(KeyWinNT) "CurrentVersion" CurrentVersionValue
  281. CloseRegKey $(KeyWinNT)
  282. endif
  283. set m_WinNTVersion = *($(CurrentVersionValue),4)
  284. set to   = Begin
  285. set from = Begin
  286. ifcontains(i) $(m_WinNTVersion) in {"3.50", "3.51"}
  287. Shell $(UtilityInf), GetBusTypeNum
  288. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  289. goto ShellCodeError
  290. endif
  291. Set PlatformList = ^(PlatformsSupported, 1)
  292. Set MachineType = *($(PlatformList), $($R1))
  293. else
  294. Set MachineType = $(!STF_BUSTYPE)
  295. endif
  296. set CommonStatus = STATUS_SUCCESSFUL
  297. EndWait
  298. Begin = +
  299. Set ActivateDetection = FALSE
  300. Ifstr(i) $(!NTN_InstallMode) == deinstall
  301. set StartLabel = removeadapter
  302. else-Ifstr(i) $(!NTN_InstallMode) == Update
  303. set StartLabel = UpgradeSoftware
  304. else-Ifstr(i) $(!NTN_InstallMode) == bind
  305. set StartLabel = bindingadapter
  306. else-Ifstr(i) $(!NTN_InstallMode) == configure
  307. set ActivateDetection = TRUE
  308. set StartLabel = configureadapter
  309. ifstr(i) $(MachineType) == "MCA"
  310. Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  311. Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  312. else
  313. Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_HARDWARE
  314. endif
  315. set Error = $($R0)
  316. set from = end
  317. set to = end
  318. goto nonfatalinfo
  319. endif
  320. Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  321. Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  322. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  323. goto ShellCodeError
  324. endif
  325. set Error = $($R0)
  326. set from = end
  327. set to = end
  328. goto nonfatalinfo
  329. endif
  330. else
  331. set ActivateDetection = TRUE
  332. set StartLabel = installadapter
  333. set OEM_ABANDON_OPTIONS = {}
  334. set OEM_ABANDON_SOFTWARE = FALSE
  335. set OEM_ABANDON_ON = TRUE
  336. endif
  337. Set DetectedCard = FALSE
  338. Ifstr(i) $(ActivateDetection) != TRUE
  339. Goto $(StartLabel)
  340. Endif
  341. ifstr(i) $(MachineType) == "MCA"
  342. goto CheckForMCA
  343. endif
  344. set IRQValue = *($(IRQList), 2)
  345. set IOAddrValue = *($(IOAddrList), 1)
  346. set IOReadyValue = *($(IOReadyList), 2)
  347. set TransceiverValue = *($(TransceiverList), 4)
  348. Ifstr(i) $(!STF_NCDETECT) == YES
  349. Ifstr(i) $(!STF_NCOPTION) == $(Option)
  350. Set DetectedCard = TRUE
  351. Endif
  352. Endif
  353. Shell "" DebugConfiguration "After parameter querying"
  354. Set from = $(fatal)
  355. Set to = $(fatal)
  356. Goto $(StartLabel)
  357. installadapter = + 
  358. OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  359. Ifstr $(KeyProduct) != $(KeyNull)
  360. CloseRegKey $(KeyProduct)
  361. ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  362. Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
  363. $(ProductVersion)
  364. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  365. goto ShellCodeError
  366. endif
  367. goto end
  368. else
  369. Shell $(UtilityInf), CardExistedDlg
  370. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  371. goto ShellCodeError
  372. endif
  373. ifstr(i) $($R1) != "OK"
  374. goto end
  375. endif
  376. set OldVersionExisted = $(TRUE)
  377. endif
  378. endif
  379. ifcontains(i) $(m_WinNTVersion) in {"3.50", "3.51"}
  380. Ifstr(i) $(DetectedCard) != TRUE
  381. Goto adaptersetup
  382. Endif
  383. else
  384. Goto adaptersetup
  385. end
  386. CheckForMCA = +    
  387. StartWait
  388. Shell $(UtilityInf), MCAFindBus, $(EE16_1BYTE), $(EE16_2BYTE)
  389. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  390. goto CheckForISA
  391. endif
  392. ifstr $($R0) != "NO_ERROR"
  393. goto CheckForISA
  394. endif
  395. ifstr(i) $($R1) == {}
  396. set Error = $(CANNOT_FIND_ANY_CARD)
  397. set CommonStatus = USER_CANCEL
  398. set from = "end"
  399. goto nonfatal
  400. endif
  401. set AdapterList = $($R1)
  402. goto skipoptions
  403. CheckForISA = +
  404. Shell $(ParamInf) Param_QueryCard $(!STF_NCDETCARD)
  405. EndWait
  406. Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  407. Goto adaptersetup
  408. Endif
  409. Set DetectedParams = $($R1)
  410. Shell $(ParamInf) Param_SetDefaults $(DetectedParams)
  411. goto adaptersetup
  412. configureadapter = +
  413. ifstr(i) $(Option) == "ATEAMADAPTER"
  414. Ifstr $(KeyProduct) == $(KeyNull)
  415. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  416. Ifstr $(KeyProduct) == $(KeyNull)
  417. set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  418. goto fatalregistry
  419. Endif
  420. Endif
  421. GetRegValue $(KeyProduct),"ServiceName", AdapterServiceKey
  422. set AdapterServiceKey = *($(AdapterServiceKey),4)
  423. LoadLibrary "Intel EtherExpress PRO Adapter Driver Disk" $(!STF_WINDOWSSYSPATH)\epro100.dll DllLibHandle
  424. LibraryProcedure DllExitStr $(DllLibHandle) AftCM
  425. FreeLibrary $(DllLibHandle)
  426. ifstr(i) $(DllExitStr) == "nochange"    
  427. CloseRegKey $(AdapterServiceKey)
  428. CloseRegKey $(KeyProduct)
  429. set CommonStatus = STATUS_NO_EFFECT
  430. goto successful
  431. endif
  432. Ifstr $(KeyProduct) == $(KeyNull)
  433. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  434. Ifstr $(KeyProduct) == $(KeyNull)
  435. set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  436. Debug-Output "Cannot find component product key"
  437. goto fatalregistry
  438. Endif
  439. Endif
  440. Debug-Output "INF: Shelling to FindService"
  441. Shell $(UtilityInf) FindService, $(KeyProduct)
  442. Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  443. Debug-Output "INF: FindService shell failure"
  444. Goto ShellCodeError
  445. Endif
  446. Ifstr(i) $($R0) != NO_ERROR
  447. Debug-Output "INF: FindService Shell error: "$($R0)
  448. Goto fatalregistry
  449. endif
  450. Set KeyParameters = $($R2)
  451. CloseRegKey $($R1)
  452. Ifstr $(KeyParameters) == $(KeyNull)
  453. set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  454. Debug-Output "Cannot find component service"
  455. goto fatalregistry
  456. endif
  457. set OldVersionExisted = $(TRUE)
  458. set ValueName = ""
  459. set ValueData = ""
  460. set ValueStr  = ""
  461. set ValueList = {}
  462. EnumRegValue $(KeyParameters) ValueList
  463. ForListDo $(ValueList)
  464. set ValueItem = $($)
  465. set ValueName = *($(ValueItem),1)
  466. set ValueData = *($(ValueItem),4)
  467. Ifstr(i) $(ValueName) == "CheckTime"
  468. set CheckTimeValue = $(ValueData)
  469. else-ifstr(i) $(ValueName) == "DisableTime"
  470. set DisableTimeValue = $(ValueData)
  471. else-ifstr(i) $(ValueName) == "IdleTime"
  472. set IdleTimeValue = $(ValueData)
  473. else-ifstr(i) $(ValueName) == "ProbeTime"
  474. set ProbeTimeValue = $(ValueData)
  475. endif
  476. EndForListDo
  477. Shell $(ParamInf) Param_SaveValues
  478. Set CurrParamSettings = $($R0)
  479. goto writeparameters
  480. endif
  481. Ifstr $(KeyProduct) == $(KeyNull)
  482. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  483. Ifstr $(KeyProduct) == $(KeyNull)
  484. set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  485. goto fatalregistry
  486. Endif
  487. Endif
  488. GetRegValue $(KeyProduct),"ServiceName", AdapterServiceKey
  489. set AdapterServiceKey = *($(AdapterServiceKey),4)
  490. Shell $(UtilityInf) FindService, $(KeyProduct)
  491. Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  492. Goto ShellCodeError
  493. Endif
  494. Ifstr(i) $($R0) != NO_ERROR
  495. Goto fatalregistry
  496. endif
  497. Set KeyParameters = $($R2)
  498. CloseRegKey $($R1)
  499. Ifstr $(KeyParameters) == $(KeyNull)
  500. set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  501. goto fatalregistry
  502. endif
  503. set OldVersionExisted = $(TRUE)
  504. set ValueName = ""
  505. set ValueData = ""
  506. set ValueStr  = ""
  507. set ValueList = {}
  508. ifstr(i) $(Option) == "E100BEXP"
  509. goto RunProset
  510. goto successful
  511. RunProset = +
  512. RunProgram ExitCode "" "" $(!STF_WINDOWSSYSPATH)\$(ExeName).EXE $(AdapterServiceKey) 
  513. Ifstr(i) $(!NTN_InstallMode) != configure
  514. ifint $(ExitCode) == 20
  515. set Option = "ATEAMADAPTER"
  516. goto install_ateam
  517. endif
  518. ifint $(ExitCode) >= 2 
  519. set CommonStatus = STATUS_USERCANCEL
  520. goto abandon
  521. endif
  522. else
  523. ifint $(ExitCode) == 0
  524. set CommonStatus = STATUS_NO_EFFECT
  525. endif
  526. ifint $(ExitCode) == 2
  527. set CommonStatus = STATUS_NO_EFFECT
  528. endif
  529. ifint $(ExitCode) == 20
  530. set Option = "ATEAMADAPTER"
  531. goto install_ateam
  532. endif
  533. endif
  534. goto successful
  535. adaptersetup = +
  536. Shell "" DebugConfiguration "before displaying dialog"
  537. Shell "" DebugConfiguration "After List Translation"
  538. Shell $(ParamInf) Param_ParameterConfidence
  539. Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  540. Goto adapteroptions
  541. Endif
  542. Ifstr(i) $(DetectedCard) == TRUE
  543. Ifstr(i) $(!STF_INSTALL_MODE) != CUSTOM
  544. Goto adapterverify
  545. Endif
  546. Endif
  547. adapteroptions = +
  548. Set from = adapteroptions
  549. adapterverify = +
  550. ifcontains(i) $(m_WinNTVersion) not-in {"3.50", "3.51"}
  551. Goto skipoptions
  552. endif
  553. Shell "" DebugConfiguration "after running dialog"
  554. Ifstr(i) $(DetectedCard) != TRUE
  555. Goto skipoptions
  556. Endif
  557. Shell $(ParamInf) Param_VerifyCard $(!STF_NCDETCARD)
  558. Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  559. Goto skipoptions
  560. Endif
  561. Set from = adapteroptions
  562. Set to = skipoptions
  563. Shell $(UtilityInf),RegistryErrorString,VERIFY_WARNING
  564. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  565. goto ShellCodeError
  566. endif
  567. set Error = $($R0)
  568. Goto Warning
  569. install_ateam = +
  570. ifcontains(i) $(m_WinNTVersion) in {"3.50", "3.51"}
  571. Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" "This feature requires Windows NT 4.0 and higher."
  572. goto end
  573. endif
  574. set CheckTimeValue = 1000
  575. set DisableTimeValue = 8000
  576. set IdleTimeValue = 2000
  577. set ProbeTimeValue = 1000
  578. OpenRegKey $(!REG_H_LOCAL) "" $(ProductATeamKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  579. Ifstr $(KeyProduct) == $(KeyNull)
  580. CloseRegKey $(KeyProduct)
  581. Debug-Output "OEMSETUP.INF: AddSoftwareComponent: ATEAM Miniport"
  582. Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), $(ProductATeamSoftwareName), $(ProductATeamSoftwareName), +
  583. $(ProductATeamSoftwareTitle), $(STF_CONTEXTINFNAME), $(ProductATeamSoftwareImagePath), +
  584. "kernel", "NDIS", {}, "", $(NetEventDLL)
  585. Set OEM_ABANDON_SOFTWARE = TRUE
  586. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  587. Debug-Output "ShellCode error"
  588. goto ShellCodeError
  589. endif
  590. set RegistryErrorIndex = $($R0)
  591. set KeyProduct      = $($R1)
  592. Set SoftNetRulesKey = $($R2)
  593. CloseRegKey $($R3)
  594. CloseRegKey $($R4)
  595. CloseRegKey $($R5)
  596. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  597. EndWait
  598. Debug-Output "Registry error: add software components"
  599. CloseRegKey $(KeyProduct)
  600. CloseRegKey $(SoftNetRulesKey)
  601. goto fatalregistry
  602. endif
  603. set NewValueList = { {SoftwareType, $(NoTitle), $(!REG_VT_SZ),    $(ATeamSoftwareType)},+
  604. {MajorVersion, $(NoTitle), $(!REG_VT_DWORD), $(ProductATeamMajorVersion)},+
  605. {MinorVersion, $(NoTitle), $(!REG_VT_DWORD), $(ProductATeamMinorVersion)},+
  606. {Title,        $(NoTitle), $(!REG_VT_SZ),    $(ProductATeamSoftwareTitle)},+
  607. {Description,  $(NoTitle), $(!REG_VT_SZ),    $(ProductATeamSoftwareDescription)},+
  608. {ServiceName,  $(NoTitle), $(!REG_VT_SZ),    $(ProductATeamSoftwareName)},+
  609. {InstallDate,  $(NoTitle), $(!REG_VT_DWORD), *($(Now),1)} }
  610. Shell  $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)
  611. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  612. Debug-Output "ShellCode error."
  613. goto ShellCodeError
  614. endif
  615. set RegistryErrorIndex = $($R0)
  616. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  617. EndWait
  618. Debug-Output "Registry error: add value list."
  619. CloseRegKey $(KeyProduct)
  620. CloseRegKey $(SoftNetRulesKey)
  621. goto fatalregistry
  622. endif
  623. set NewValueList = { {type,     $(NoTitle), $(!REG_VT_SZ),       $(NetRuleATeamSoftwareType)},+
  624. {use,      $(NoTitle), $(!REG_VT_SZ),       $(NetRuleATeamSoftwareUse)}, +
  625. {bindform, $(NoTitle), $(!REG_VT_SZ),       $(NetRuleATeamSoftwareBindForm)}, +
  626. {class,    $(NoTitle), $(!REG_VT_MULTI_SZ), $(NetRuleATeamSoftwareClass)}, +
  627. {bindable, $(NoTitle), $(!REG_VT_MULTI_SZ), $(NetRuleATeamSoftwareBindable)}, +
  628. {InfOption,$(NoTitle), $(!REG_VT_SZ),       $(Option)} }
  629. Shell  $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
  630. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  631. Debug-Output "ShellCode error."
  632. goto ShellCodeError
  633. endif
  634. set RegistryErrorIndex = $($R0)
  635. CloseRegKey $(KeyProduct)
  636. CloseRegKey $(SoftNetRulesKey)
  637. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  638. EndWait
  639. Debug-Output "Resgitry error: add value list."
  640. goto fatalregistry
  641. endif
  642. else
  643. CloseRegKey $(KeyProduct)
  644. endif
  645. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductATeamTransportName)"\CurrentVersion" $(MAXIMUM_ALLOWED) KeyProduct
  646. Ifstr $(KeyProduct) == $(KeyNull)
  647. CloseRegKey $(KeyProduct)
  648. Debug-Output "OEMSETUP.INF: AddSoftwareComponent: ATEAM Transport"
  649. Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), $(ProductATeamTransportName), $(ProductATeamTransportName), +
  650. $(ProductATeamTransportTitle), $(STF_CONTEXTINFNAME), $(ProductATeamSoftwareImagePath), +
  651. "transport", "Transport", {}, "", $(NetEventDLL)
  652. Set OEM_ABANDON_SOFTWARE = TRUE
  653. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  654. Debug-Output "ShellCode error"
  655. goto ShellCodeError
  656. endif
  657. set RegistryErrorIndex = $($R0)
  658. set KeyProduct      = $($R1)
  659. Set SoftNetRulesKey = $($R2)
  660. CloseRegKey $($R3)
  661. CloseRegKey $($R4)
  662. CloseRegKey $($R5)
  663. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  664. EndWait
  665. Debug-Output "Registry error: add software components"
  666. CloseRegKey $(KeyProduct)
  667. CloseRegKey $(SoftNetRulesKey)
  668. goto fatalregistry
  669. endif
  670. set NewValueList = { {SoftwareType, $(NoTitle), $(!REG_VT_SZ),    "transport" }, +
  671. {MajorVersion, $(NoTitle), $(!REG_VT_DWORD), $(ProductATeamMajorVersion)},+
  672. {MinorVersion, $(NoTitle), $(!REG_VT_DWORD), $(ProductATeamMinorVersion)},+
  673. {Title,        $(NoTitle), $(!REG_VT_SZ),    $(ProductATeamTransportTitle)},+
  674. {Description,  $(NoTitle), $(!REG_VT_SZ),    $(ProductATeamTransportDescription)},+
  675. {ServiceName,  $(NoTitle), $(!REG_VT_SZ),    $(ProductATeamTransportName)},+
  676. {InstallDate,  $(NoTitle), $(!REG_VT_DWORD), *($(Now),1)} +
  677. {Review,       $(NoTitle), $(!REG_VT_DWORD), 1 }, +
  678. {OperationsSupport, $(NoTitle), $(!REG_VT_DWORD), 128} }
  679. Shell  $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)
  680. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  681. Debug-Output "ShellCode error."
  682. goto ShellCodeError
  683. endif
  684. set RegistryErrorIndex = $($R0)
  685. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  686. EndWait
  687. Debug-Output "Registry error: add value list."
  688. CloseRegKey $(KeyProduct)
  689. CloseRegKey $(SoftNetRulesKey)
  690. goto fatalregistry
  691. endif
  692. set NewValueList = { {type,      $(NoTitle), $(!REG_VT_SZ),       $(NetRuleATeamTransportType)},+
  693. {use,       $(NoTitle), $(!REG_VT_SZ),       $(NetRuleATeamTransportUse)}, +
  694. {bindform,  $(NoTitle), $(!REG_VT_SZ),       $(NetRuleATeamTransportBindForm)}, +
  695. {class,     $(NoTitle), $(!REG_VT_MULTI_SZ), $(NetRuleATeamTransportClass)}, +
  696. {bindable,  $(NoTitle), $(!REG_VT_MULTI_SZ), $(NetRuleATeamTransportBindable)}, +
  697. {InfOption, $(NoTitle), $(!REG_VT_SZ),       $(Option)}}
  698. Shell  $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
  699. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  700. Debug-Output "ShellCode error."
  701. goto ShellCodeError
  702. endif
  703. set RegistryErrorIndex = $($R0)
  704. CloseRegKey $(KeyProduct)
  705. CloseRegKey $(SoftNetRulesKey)
  706. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  707. EndWait
  708. Debug-Output "Resgitry error: add value list."
  709. goto fatalregistry
  710. endif
  711. else
  712. CloseRegKey $(KeyProduct)
  713. endif
  714. Debug-Output "OEMSETUP.INF: AddHardwareComponent ATEAM"
  715. Shell $(UtilityInf), AddHardwareComponent, $(ProductATeamHardwareName),$(STF_CONTEXTINFNAME),$(ProductATeamKeyName)
  716. set AftRegKeyName = $($R5)
  717. ifint $($R4) != -1
  718. Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  719. endif
  720. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  721. Debug-Output "Cannot add hardware component"
  722. goto ShellCodeError
  723. endif
  724. set RegistryErrorIndex = $($R0)
  725. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  726. EndWait
  727. Debug-Output "Registry error: add hardware component"
  728. CloseRegKey $($R1)
  729. CloseRegKey $($R2)
  730. CloseRegKey $($R3)
  731. goto fatalregistry
  732. endif
  733. set KeyParameters = $($R3)
  734. set KeyAdapterRules = $($R2)
  735. set AdapterNumber = $($R4)
  736. set NewValueList =  { {Manufacturer, $(NoTitle), $(!REG_VT_SZ), $(Manufacturer)},+
  737. {Title,        $(NoTitle), $(!REG_VT_SZ), "["$($R4)"] "$(ProductATeamHardwareTitle)},+
  738. {Description,  $(NoTitle), $(!REG_VT_SZ), $(ProductATeamHardwareDescription)},+
  739. {ProductName,  $(NoTitle), $(!REG_VT_SZ), $(ProductATeamHardwareName)},+
  740. {ServiceName,  $(NoTitle), $(!REG_VT_SZ), $($R5)},+
  741. {InstallDate,  $(NoTitle), $(!REG_VT_DWORD),*($(Now),1)} }
  742. Shell  $(UtilityInf), AddValueList, $($R1), $(NewValueList)
  743. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  744. Debug-Output "ShellCode error"
  745. goto ShellCodeError
  746. endif
  747. CloseRegKey $($R1)
  748. set TempProdName = """"$(ProductATeamHardwareName)$(AdapterNumber)""""
  749. set TempBindForm = $(TempProdName)$(NetRuleATeamHardwareBindForm)
  750. set NewValueList = { {type,      $(NoTitle), $(!REG_VT_SZ),       $(NetRuleATeamHardwareType)},+
  751. {bindform,  $(NoTitle), $(!REG_VT_SZ),       $(TempBindForm)}, +
  752. {class,     $(NoTitle), $(!REG_VT_MULTI_SZ), $(NetRuleATeamHardwareClass)}, +
  753. {InfOption, $(NoTitle), $(!REG_VT_SZ),       $(Option)}}
  754. Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  755. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  756. Debug-Output "ShellCode error."
  757. goto ShellCodeError
  758. endif
  759. set RegistryErrorIndex = $($R0)
  760. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  761. EndWait
  762. Debug-Output "Resgitry error: add value list."
  763. CloseRegKey $(KeyParameters)
  764. CloseRegKey $(KeyAdapterRules)
  765. goto fatalregistry
  766. endif
  767. CloseRegKey $(KeyAdapterRules)
  768. Set TeamTypeValue = $(ProductSoftwareName)
  769. Set NewValueList = {+
  770. {CheckTime,     $(NoTitle), $(!REG_VT_DWORD), $(CheckTimeValue)},+
  771. {DisableTime,   $(NoTitle), $(!REG_VT_DWORD), $(DisableTimeValue)},+
  772. {IdleTime,      $(NoTitle), $(!REG_VT_DWORD), $(IdleTimeValue)},+
  773. {ProbeTime,     $(NoTitle), $(!REG_VT_DWORD), $(ProbeTimeValue)},+
  774. {TeamType,     $(NoTitle), $(!REG_VT_SZ), $(TeamTypeValue)},+
  775. }
  776. Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  777. LoadLibrary "Intel EtherExpress PRO Adapter Driver Disk" $(!STF_WINDOWSSYSPATH)\epro100.dll DllLibHandle
  778. LibraryProcedure DllExitStr $(DllLibHandle) AftCM
  779. FreeLibrary $(DllLibHandle)
  780. goto writeparameters
  781. skipoptions = +
  782. ifstr(i) $(Option) == "ATEAMADAPTER"
  783. goto install_ateam
  784. endif
  785. ifint $(OldVersionExisted) == $(TRUE)
  786. ifstr(i) $(!NTN_InstallMode) == configure
  787. goto writeparameters
  788. endif
  789. endif
  790. StartWait
  791. ifint $(OldVersionExisted) == $(FALSE)
  792. ifstr(i) $(!NTN_InstallMode) == "install"
  793. Ifstr(i) $(DoCopy) == "YES"
  794. Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  795. Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  796. Goto ShellCodeError
  797. Else-Ifstr(i) $($R0) == STATUS_FAILED
  798. Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  799. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  800. goto ShellCodeError
  801. endif
  802. set Error = $($R0)
  803. Goto fatal
  804. Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  805. Goto successful
  806. Endif
  807. Set SrcDir = $($R1)
  808. Endif
  809. install "Install-Option"
  810. ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  811. Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  812. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  813. goto ShellCodeError
  814. endif
  815. set Error = $($R0)
  816. goto fatal
  817. endif
  818. endif
  819. ifcontains(i) $(m_WinNTVersion) in {"3.50", "3.51"}
  820. Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  821. $(ProductSoftwareName), +
  822. $(ProductSoftwareName), +
  823. $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  824. $(ProductSoftwareImagePathNDIS3), "kernel", "NDIS", {}, "",+
  825. $(NetEventDLL)
  826. else
  827. Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  828. $(ProductSoftwareName), +
  829. $(ProductSoftwareName), +
  830. $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  831. $(ProductSoftwareImagePathNDIS4), "kernel", "NDIS", {}, "",+
  832. $(NetEventDLL)
  833. endif
  834. Set OEM_ABANDON_SOFTWARE = TRUE
  835. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  836. goto ShellCodeError
  837. endif
  838. set RegistryErrorIndex = $($R0)
  839. set KeyProduct      = $($R1)
  840. Set SoftNetRulesKey = $($R2)
  841. CloseRegKey $($R3)
  842. CloseRegKey $($R4)
  843. CloseRegKey $($R5)
  844. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  845. EndWait
  846. CloseRegKey $(KeyProduct)
  847. CloseRegKey $(SoftNetRulesKey)
  848. goto fatalregistry
  849. endif 
  850. set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  851. {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  852. {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  853. {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  854. {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  855. {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  856. {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  857. Shell  $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)
  858. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  859. goto ShellCodeError
  860. endif
  861. set RegistryErrorIndex = $($R0)
  862. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  863. EndWait
  864. CloseRegKey $(KeyProduct)
  865. CloseRegKey $(SoftNetRulesKey)
  866. goto fatalregistry
  867. endif
  868. set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  869. {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  870. {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  871. {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  872. {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  873. {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  874. Shell  $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
  875. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  876. goto ShellCodeError
  877. endif
  878. set RegistryErrorIndex = $($R0)
  879. CloseRegKey $(KeyProduct)
  880. CloseRegKey $(SoftNetRulesKey)
  881. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  882. EndWait
  883. goto fatalregistry
  884. endif
  885. endif
  886. set NTDetected = $(TRUE)
  887. set Vendor =  32902                                                
  888. set CFID   =  4649                                                 
  889. ifcontains(i) $(m_WinNTVersion) in {"3.50", "3.51"}
  890. Shell "", FindPciE100B
  891. else
  892. Shell $(UtilityInf), GetPCIInformation, $(Vendor) $(CFID)
  893. endif
  894. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  895. goto ShellCodeError
  896. endif
  897. ifstr(i) $($R0) == {}
  898. Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "FATAL" "Setup was unable to detect an Intel EtherExpress PRO Adapter in your system.  Install the adapter and try again."
  899. goto setfailed
  900. endif
  901. set AdapterList = $($R0)
  902. Shell "", FindOutdatedRegistryEntries
  903. ifint $($R0) == -1
  904. LoadLibrary "Intel EtherExpress PRO Adapter Driver Disk" $(!STF_WINDOWSSYSPATH)\epro100.dll DllLibHandle
  905. LibraryProcedure DllExitStr $(DllLibHandle) AddSlots
  906. FreeLibrary $(DllLibHandle)
  907. endif
  908. ForListDo $(AdapterList)
  909. Set InstallCard = "YES"
  910. ifint $(NTDetected) == $(TRUE)
  911. set DetectedBusNum = *($($),1)
  912. set DetectedSlotNum = *($($),2)
  913. Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(DetectedBusNum), +
  914. $(DetectedSlotNum), $(ProductHardware$(Option)Description), $(ProductHardwareName)
  915. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  916. goto ShellCodeError
  917. endif
  918. ifstr $($R0) != "NO_ERROR"
  919. set Error = $($R0)
  920. goto fatal
  921. endif
  922. ifstr(i) $($R1) == "YES"
  923. set InstallCard = "NO"                  
  924. endif    
  925. endif
  926. ifstr(i) $(InstallCard) == "NO"
  927. set detmsg = "An "$(ProductHardwareTitle)" at PCI Bus "$(DetectedBusNum)" PCI Slot "$(DetectedSlotNum)" is already installed!"
  928. goto det_bypass
  929. else
  930. Debug-Output "*** Installing E100B at $(DetectedBusNum):$(DetectedSlotNum)!"
  931. Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  932. ifint $($R4) != -1
  933. Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  934. endif
  935. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  936. goto ShellCodeError
  937. endif
  938. set RegistryErrorIndex = $($R0)
  939. Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  940. EndWait
  941. CloseRegKey $($R1)
  942. CloseRegKey $($R2)
  943. CloseRegKey $($R3)
  944. goto fatalregistry
  945. endif
  946. Set MyNetCardKey       = $($R1)
  947. Set MyNetRuleKey       = $($R2)
  948. Set MyParameterKey     = $($R3)
  949. set AdapterNumber      = $($R4)
  950. set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  951. {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
  952. {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
  953. {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  954. {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  955. {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  956. Shell  $(UtilityInf), AddValueList, $(MyNetCardKey), $(NewValueList)
  957. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  958. goto ShellCodeError
  959. endif
  960. set BusNumber = $(DetectedBusNum)
  961. set SlotNum = $(DetectedSlotNum)    
  962. OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion" $(!REG_KEY_READ) KeyWinNT
  963. ifstr(i) $(KeyWinNT) != ""
  964. GetRegValue $(KeyWinNT) "CurrentVersion" CurrentVersionValue
  965. endif
  966. CloseRegKey $(KeyWinNT)
  967. set m_WinNTVersion = *($(CurrentVersionValue),4)
  968. Debug-Output "Setting PerfOpts Defaults 3.51"
  969. Ifstr(i) $(!STF_PROCESSOR) == "I586"
  970. Debug-Output "Found Pentium"
  971. set myPerfOptimsValue = 2
  972. else
  973. Debug-Output "Found nonPentium"
  974. set myPerfOptimsValue = 0
  975. endif
  976. ifcontains(i) $(m_WinNTVersion) not-in {"3.50", "3.51"}
  977. Debug-Output "Setting PerfOpts for NT 4.X"
  978. Ifstr(i) $(!STF_PROCESSOR) == "I586"
  979. Debug-Output "Found Pentium"
  980. set myPerfOptimsValue = 2
  981. else
  982. Debug-Output "Found nonPentium"
  983. set myPerfOptimsValue = 0
  984. endif
  985. endif
  986. Set NewValueList =  {+
  987. {Adaptive_IFS,  $(NoTitle),   $(!REG_VT_DWORD),   1}, +
  988. {BusNumber,     $(NoTitle),   $(!REG_VT_DWORD),   $(BusNumber)},+
  989. {BusType,       $(NoTitle),   $(!REG_VT_DWORD),   5)},+
  990. {BusTypeLocal,  $(NoTitle),   $(!REG_VT_DWORD),   5}, +
  991. {ForceDpx,      $(NoTitle),   $(!REG_VT_DWORD),   0}, +
  992. {MapRegisters,  $(NoTitle),   $(!REG_VT_DWORD),   64}, +
  993. {MediaType,     $(NoTitle),   $(!REG_VT_DWORD),   1 },+
  994. {MsPciScan,     $(NoTitle),   $(!REG_VT_DWORD),   1 },+
  995. {NumCoalesce,   $(NoTitle),   $(!REG_VT_DWORD),   8}, +
  996. {NumRfd,        $(NoTitle),   $(!REG_VT_DWORD),   16}, +
  997. {NumTbdPerTcb,  $(NoTitle),   $(!REG_VT_DWORD),   12}, +
  998. {NumTcb,        $(NoTitle),   $(!REG_VT_DWORD),   16}, +
  999. {PerfOptims,    $(NoTitle),   $(!REG_VT_DWORD),   $(myPerfOptimsValue)},+
  1000. {RxDmaCount,    $(NoTitle),   $(!REG_VT_DWORD),   0}, +
  1001. {RxFifo,        $(NoTitle),   $(!REG_VT_DWORD),   8}, +
  1002. {SlotNumber,    $(NoTitle),   $(!REG_VT_DWORD),   $(SlotNum)},+
  1003. {Speed,         $(NoTitle),   $(!REG_VT_DWORD),   0}, +
  1004. {Threshold,     $(NoTitle),   $(!REG_VT_DWORD),   16}, +
  1005. {TxDmaCount,    $(NoTitle),   $(!REG_VT_DWORD),   0}, +
  1006. {TxFifo,        $(NoTitle),   $(!REG_VT_DWORD),   8}, +
  1007. {Txmitwait,     $(NoTitle),   $(!REG_VT_DWORD),   1}, +
  1008. {UcodeSW,       $(NoTitle),   $(!REG_VT_DWORD),   1}, +
  1009. {UnderrunRetry, $(NoTitle),   $(!REG_VT_DWORD),   1}, +
  1010. }
  1011. Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
  1012. Shell  $(UtilityInf), AddValueList, $(MyParameterKey), $(NewValueList)
  1013. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1014. goto ShellCodeError
  1015. endif
  1016. set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  1017. set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  1018. set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  1019. {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  1020. {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  1021. {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  1022. Debug-Output "$(InfFile) $(Option): HardwareRuleKey = $(NewValueList)"
  1023. Shell  $(UtilityInf), AddValueList, $(MyNetRuleKey), $(NewValueList)
  1024. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1025. goto ShellCodeError
  1026. endif
  1027. CloseRegKey $(MyNetCardKey)
  1028. CloseRegKey $(MyNetRuleKey)
  1029. endif
  1030. det_bypass = +
  1031. EndForListDo
  1032. goto writeparameters
  1033. writeparameters = +
  1034. ifstr(i) $(Option) == "ATEAMADAPTER"
  1035. Set NewValueList = {+
  1036. {CheckTime,     $(NoTitle), $(!REG_VT_DWORD), $(CheckTimeValue)},+
  1037. {DisableTime,   $(NoTitle), $(!REG_VT_DWORD), $(DisableTimeValue)},+
  1038. {IdleTime,      $(NoTitle), $(!REG_VT_DWORD), $(IdleTimeValue)},+
  1039. {ProbeTime,     $(NoTitle), $(!REG_VT_DWORD), $(ProbeTimeValue)},+
  1040. }
  1041. Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  1042. ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
  1043. Shell $(UtilityInf),AddDefaultNetCardParameters,$(KeyParameters)
  1044. endif
  1045. CloseRegKey $(KeyParameters)
  1046. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1047. Debug-Output "ShellCode error."
  1048. goto ShellCodeError
  1049. endif
  1050. set RegistryErrorIndex = $($R0)
  1051. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1052. Debug-Output "Registry error: Add value list"
  1053. goto fatalregistry
  1054. endif
  1055. goto successful
  1056. endif
  1057. Shell $(UtilityInf), GetBusTypeNum
  1058. set BusTypeNum = $($R1)
  1059. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1060. goto ShellCodeError
  1061. endif
  1062. Set IOAddrValue = *($(IOAddrValues), ~($(IOAddrList),$(IOAddrValue)))
  1063. Shell "" DebugConfiguration "Before Writing Parameters"
  1064. set NewValueList = {{Eid,$(NoTitle),$(!REG_VT_DWORD),0)}}
  1065. OpenRegKey $(!REG_H_LOCAL) "" $(PROSetKeyName)"\"Adapters $(MAXIMUM_ALLOWED) PROSetAdapterKey
  1066. ifstr $(PROSetAdapterKey) == $(KeyNull)
  1067. CreateRegKey $(!REG_H_LOCAL) {$(PROSetKeyName)"\"Adapters,0,GenericClass} "" +
  1068. $(MAXIMUM_ALLOWED) "" PROSetAdapterKey
  1069. ifstr $(PROSetAdapterKey) == $(KeyNull)
  1070. Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" CreateRegAdapterFailed
  1071. goto fatalregistry
  1072. endif      
  1073. endif
  1074. set NewValueList = {{$(PROSetAdapterName),$(NoTitle), $(!REG_VT_SZ), $(Adapter)}}
  1075. Shell  $(UtilityInf), AddValueList, $(PROSetAdapterKey), $(NewValueList)
  1076. CloseRegKey $(PROSetAdapterKey)
  1077. OpenRegKey $(!REG_H_LOCAL) "" $(PROSetKeyName)"\"$(PROSetAdapterName) $(MAXIMUM_ALLOWED) PROSetAdapterKey
  1078. ifstr $(PROSetAdapterKey) == $(KeyNull)
  1079. CreateRegKey $(!REG_H_LOCAL) {$(PROSetKeyName)"\"$(PROSetAdapterName),0,GenericClass} "" +
  1080. $(MAXIMUM_ALLOWED) "" PROSetAdapterKey
  1081. ifstr $(PROSetAdapterKey) == $(KeyNull)
  1082. Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" CreateRegEPRO10Failed
  1083. goto fatalregistry
  1084. endif
  1085. endif
  1086. set NewValueList = {{Configure,$(NoTitle),$(!REG_VT_SZ),$(Configure)},+
  1087. {Detect,$(NoTitle),$(!REG_VT_SZ),$(Detect)},+
  1088. {Diagnose,$(NoTitle),$(!REG_VT_SZ),$(Diagnose)},+
  1089. {DLL,$(NoTitle),$(!REG_VT_SZ),$(DLL)},+
  1090. {Help,$(NoTitle),$(!REG_VT_SZ),$(Help)},+
  1091. {RegistryKey,$(NoTitle),$(!REG_VT_SZ),$(RegistryKey)},+
  1092. {AdapterDescription,$(NoTitle),$(!REG_VT_SZ),$(AdapterDescription)},+
  1093. {InstallAnyway,$(NoTitle),$(!REG_VT_SZ),$(InstallAnyway)},+
  1094. {DeviceExist,$(NoTitle),$(!REG_VT_SZ),$(DeviceExist)},+
  1095. {GetExtendedFeatures,$(NoTitle),$(!REG_VT_SZ),$(GetExtendedFeatures)},+
  1096. {Summary,$(NoTitle),$(!REG_VT_SZ),$(Summary)}}
  1097. Shell  $(UtilityInf), AddValueList, $(PROSetAdapterKey), $(NewValueList)
  1098. CloseRegKey $(PROSetAdapterKey)
  1099. OpenRegKey $(!REG_H_LOCAL) "" $(PROSetKeyName)"\"$(PROSetAdapterName)"\"$(PROSetParameters) $(MAXIMUM_ALLOWED) PROSetAdapterKey
  1100. ifstr $(PROSetAdapterKey) == $(KeyNull)
  1101. CreateRegKey $(!REG_H_LOCAL) {$(PROSetKeyName)"\"$(PROSetAdapterName)"\"$(PROSetParameters),0,GenericClass} "" +
  1102. $(MAXIMUM_ALLOWED) "" PROSetAdapterKey
  1103. ifstr $(PROSetAdapterKey) == $(KeyNull)
  1104. Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" CreateRegEPRO10Failed
  1105. goto fatalregistry
  1106. endif
  1107. endif
  1108. set NewValueList = { +
  1109. {BusNumber,$(NoTitle),$(!REG_VT_SZ),$(BusNumber)}, +
  1110. {BusType,$(NoTitle),$(!REG_VT_SZ),$(BusType)}, +
  1111. {BusTypeLocal,$(NoTitle),$(!REG_VT_SZ),$(BusTypeLocal)}, +
  1112. {Eid,$(NoTitle),$(!REG_VT_SZ),$(Eid)}, +
  1113. {Fifo,$(NoTitle),$(!REG_VT_SZ),$(Fifo)}, +
  1114. {ForceDpx,$(NoTitle),$(!REG_VT_SZ),$(ForceDpx)}, +
  1115. {MapRegisters,$(NoTitle),$(!REG_VT_SZ),$(MapRegisters)}, +
  1116. {MediaType,$(NoTitle),$(!REG_VT_SZ),$(MediaType)}, +
  1117. {MsPciScan,$(NoTitle),$(!REG_VT_SZ),$(MsPciScan)}, +
  1118. {NumCoalesce,$(NoTitle),$(!REG_VT_SZ),$(NumCoalesce)}, +
  1119. {NumRfd,$(NoTitle),$(!REG_VT_SZ),$(NumRfd)}, +
  1120. {NumTbd,$(NoTitle),$(!REG_VT_SZ),$(NumTbd)}, +
  1121. {NumTbdPerTcb,$(NoTitle),$(!REG_VT_SZ),$(NumTbdPerTcb)}, +
  1122. {NumTcb,$(NoTitle),$(!REG_VT_SZ),$(NumTcb)}, +
  1123. {Off,$(NoTitle),$(!REG_VT_SZ),$(Off)}, +
  1124. {On,$(NoTitle),$(!REG_VT_SZ),$(On)}, +
  1125. {RxDmaCount,$(NoTitle),$(!REG_VT_SZ),$(RxDmaCount)}, +
  1126. {RxFifo,$(NoTitle),$(!REG_VT_SZ),$(RxFifo)}, +
  1127. {Slot,$(NoTitle),$(!REG_VT_SZ),$(Slot)}, +
  1128. {Speed,$(NoTitle),$(!REG_VT_SZ),$(Speed)}, +
  1129. {Threshold,$(NoTitle),$(!REG_VT_SZ),$(Threshold)}, +
  1130. {TxDmaCount,$(NoTitle),$(!REG_VT_SZ),$(TxDmaCount)}, +
  1131. {TxFifo,$(NoTitle),$(!REG_VT_SZ),$(TxFifo)}, +
  1132. {UnderrunRetry,$(NoTitle),$(!REG_VT_SZ),$(UnderrunRetry)}, +
  1133. {PerfOptims,$(NoTitle),$(!REG_VT_SZ),$(PerfOptims)}, +
  1134. {UcodeSW,$(NoTitle),$(!REG_VT_SZ),$(UcodeSW)}, +
  1135. {Adaptive_IFS,$(NoTitle),$(!REG_VT_SZ),$(Adaptive_IFS)}, +
  1136. {Txmitwait,$(NoTitle),$(!REG_VT_SZ),$(Txmitwait)}, +
  1137. }
  1138. Shell  $(UtilityInf), AddValueList, $(PROSetAdapterKey), $(NewValueList)
  1139. CloseRegKey $(PROSetAdapterKey)
  1140. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1141. goto ShellCodeError
  1142. endif
  1143. set RegistryErrorIndex = $($R0)
  1144. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1145. goto fatalregistry
  1146. endif
  1147. EndWait
  1148. ifstr(i) $(!NTN_Origination) == "INSTALL"
  1149. ifstr(i) $(!STF_GUI_UNATTENDED) == YES
  1150. RunProgram DummyExitCode "" "" $(!STF_WINDOWSSYSPATH)\$(ExeName).EXE /BATCH $(AdapterServiceKey)
  1151. else
  1152. RunProgram DummyExitCode "" "" $(!STF_WINDOWSSYSPATH)\$(ExeName).EXE $(AdapterServiceKey)
  1153. endif
  1154. endif
  1155. Ifstr(i) $(!NTN_InstallMode) != configure
  1156. ifint $(ExitCode) >= 2 
  1157. set CommonStatus = STATUS_USERCANCEL
  1158. goto abandon
  1159. endif
  1160. else
  1161. ifint $(ExitCode) == 0
  1162. set CommonStatus = STATUS_NO_EFFECT
  1163. endif
  1164. ifint $(ExitCode) == 2
  1165. set CommonStatus = STATUS_NO_EFFECT
  1166. endif
  1167. endif
  1168. goto successful
  1169. bindingadapter = +
  1170. ifstr(i) $(Option) == "ATEAMADAPTER"
  1171. debug-output "set Services\iAFTProtocol\type = 4"
  1172. OpenRegKey $(!REG_H_LOCAL) "" $(ServicesBaseName)"\"$(ProductATeamTransportName) $(MAXIMUM_ALLOWED) TransportKey
  1173. Ifstr $(TransportKey) == $(KeyNull)
  1174. debug-output "cannot open Services\iAFTProtocol\type "
  1175. else
  1176. Set NewValueList = {Type, $(NoTitle), $(!REG_VT_DWORD), 4 }
  1177. SetRegValue $(TransportKey) $(NewValueList)
  1178. CloseRegKey $(TransportKey)
  1179. endif
  1180. OpenRegKey $(!REG_H_LOCAL) "" $(ServicesBaseName)"\"$(ProductATeamSoftwareName)"\Linkage" $(MAXIMUM_ALLOWED) LinkageKey
  1181. Ifstr $(LinkageKey) == $(KeyNull)
  1182. debug-output "cannot open Services\iAFT\Linkage "
  1183. else 
  1184. debug-output "Read iAFT linkage "
  1185. GetRegValue $(LinkageKey) "Bind" BindList
  1186. debug-output "BindList = "$(BindList)
  1187. set AdapterList =  *($(BindList),4)
  1188. debug-output "AdapterList = "$(AdapterList)
  1189. CloseRegKey $(LinkageKey)
  1190. ForListDo $(AdapterList)
  1191. debug-output "Adapter = "$($)
  1192. Split-String $($), "\", Adapter
  1193. QueryListSize ListSize $(Adapter)
  1194. set mspaName = *($(Adapter),$(ListSize))
  1195. debug-output "MultiSpan Miniport Name ="$(mspaName)
  1196. EndForListDo
  1197. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\iAFTProtocol\Linkage" $(MAXIMUM_ALLOWED) LinkageKey
  1198. ifstr $(LinkageKey) != $(KeyNull)
  1199. GetRegValue $(LinkageKey) "Bind" BindList
  1200. debug-output "BindList = "$(BindList)
  1201. set AdapterList =  *($(BindList),4)
  1202. debug-output "AdapterList = "$(AdapterList)
  1203. set CardNumber = 0
  1204. set NewBindList = {}
  1205. set NewBindDisableList = {}
  1206. ForListDo $(AdapterList)
  1207. debug-output "Adapter = "$($)
  1208. Split-String $($), "\", Adapter
  1209. QueryListSize ListSize $(Adapter)
  1210. set CardName = *($(Adapter),$(ListSize))
  1211. debug-output "CardName="$(CardName)
  1212. ifstr(i) $(CardName) == $(iAFTProtocolName) 
  1213. debug-output "ERROR!!!!! bind to itself "
  1214. set NewBindDisableList = >($(NewBindDisableList), $($))            
  1215. else
  1216. set NewBindList = >($(NewBindList), $($))            
  1217. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(CardName)"\Parameters" $(MAXIMUM_ALLOWED) ParamKey
  1218. Ifstr $(ParamKey) == $(KeyNull)
  1219. debug-output "cannot open "$(CardName)"\Parameters"
  1220. else
  1221. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(CardName)"\Parameters\iAFTProtocol" $(MAXIMUM_ALLOWED) KeyiAFTProtocol
  1222. Ifstr $(KeyiAFTProtocol) == $(KeyNull)
  1223. debug-output "cannot open "$(CardName)"\Parameters\iAFTProtocol, CreateRegKey"
  1224. CreateRegKey $(ParamKey) { "iAFTProtocol" , 0, GenericClass } "" + 
  1225. $(!REG_KEY_SET_VALUE) "" KeyiAFTProtocol
  1226. Ifstr $(KeyiAFTProtocol) == $(KeyNull)
  1227. debug-output "CreateRegKey ERROR!!"
  1228. Endif
  1229. else
  1230. debug-output "Key exist!!"
  1231. endif
  1232. debug-output "Connect="$(mspaName)" Number="$(CardNumber)
  1233. SetRegValue $(KeyiAFTProtocol) {"Connect",$(NoTitle),$(!REG_VT_SZ), $(mspaName)}
  1234. SetRegValue $(KeyiAFTProtocol) {"Number", $(NoTitle),$(!REG_VT_DWORD),$(CardNumber)}
  1235. set-add CardNumber = $(CardNumber) , 1
  1236. CloseRegKey $(KeyiAFTProtocol)
  1237. CloseRegKey $(ParamKey)
  1238. endif
  1239. endif
  1240. EndForListDo
  1241. CloseRegKey $(LinkageKey)
  1242. endif
  1243. endif
  1244. Shell "", PruneLoopbackBinding, "iAFTProtocol", "iAFT"
  1245. set AFTStartNum = 1
  1246. AFT_jmp = +
  1247. Shell $(UtilityInf), FindNextNetworkCard, "iAFT", $(AFTStartNum)
  1248. ifstr $($R0) != $(KeyNull)
  1249. GetRegValue $($R0) "ServiceName" ValueList
  1250. set AFTTargetService = *($(ValueList),4)
  1251. CloseRegKey $($R0)
  1252. set AFTStartNum = $($R1)
  1253. Shell "", EnableDisableBindings, "iVLANProtocol", "\Device\"$(AFTTargetService), "disable"
  1254. Shell "", EnableDisableBindings, "iAFTProtocol", "\Device\"$(AFTTargetService), "disable"
  1255. goto AFT_jmp
  1256. else
  1257. ifint $(AFTStartNum) != "10"
  1258. set-add AFTStartNum = $(AFTStartNum), 1
  1259. goto AFT_jmp
  1260. endif
  1261. endif
  1262. set AFTstartnum = "1"
  1263. BA_AFTjmp2 = +
  1264. Shell $(UtilityInf), FindNextNetworkCard, "e100b", $(AFTstartnum)
  1265. ifstr $($R0) != $(KeyNull)
  1266. GetRegValue $($R0) "ServiceName" ValueList
  1267. set BA_AFTTargetService = *($(ValueList),4)
  1268. CloseRegKey $($R0)
  1269. set AFTstartnum = $($R1)
  1270. Shell $(UtilityInf), FindService, $(BA_AFTTargetService), "adapter"
  1271. ifstr $($R0) != $(KeyNull)
  1272. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(BA_AFTTargetService)"\Parameters\iAFTProtocol" $(MAXIMUM_ALLOWED) BA_AFTProtoKeySvc
  1273. ifstr $(BA_AFTProtoKeySvc) != $(KeyNull)
  1274. Shell "", PruneEverything, $(BA_AFTTargetService)
  1275. Shell "", EnableDisableBindings, "iAFTProtocol", "\Device\"$(BA_AFTTargetService), "activate"
  1276. else
  1277. Shell "", EnableDisableBindings, "iAFTProtocol", "\Device\"$(BA_AFTTargetService), "disable"
  1278. endif
  1279. endif
  1280. goto BA_AFTjmp2
  1281. else
  1282. ifint $(AFTstartnum) != "10"
  1283. set-add AFTstartnum = $(AFTstartnum), 1
  1284. goto BA_AFTjmp2
  1285. endif
  1286. endif
  1287. endif
  1288. goto successful
  1289. removeadapter = +
  1290. Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  1291. Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName)
  1292. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1293. goto ShellCodeError
  1294. endif
  1295. set RegistryErrorIndex = $($R0)
  1296. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1297. goto fatalregistry
  1298. endif
  1299. else-ifstr(i) $(Option) == "ATEAMADAPTER"
  1300. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) RM_AFTVictimiAFTKey
  1301. Ifstr $(RM_AFTVictimiAFTKey) == $(KeyNull)
  1302. goto fatalregistry
  1303. endif
  1304. GetRegValue $(RM_AFTVictimiAFTKey), "ServiceName", RM_AFTVictimInfo
  1305. set RM_AFTVictim = *($(RM_AFTVictimInfo), 4)
  1306. CloseRegKey $(RM_AFTVictimiAFTKey)
  1307. set EnableBindings = "TRUE"
  1308. set rm_AFTstartnum = "1"
  1309. RM_AFTjmp2 = +
  1310. Shell $(UtilityInf), FindNextNetworkCard, "e100b", $(rm_AFTstartnum)
  1311. ifstr $($R0) != $(KeyNull)
  1312. GetRegValue $($R0) "ServiceName" ValueList
  1313. set RM_AFTTargetService = *($(ValueList),4)
  1314. CloseRegKey $($R0)
  1315. set rm_AFTstartnum = $($R1)
  1316. Shell $(UtilityInf), FindService, $(RM_AFTTargetService), "adapter"
  1317. ifstr $($R0) != $(KeyNull)
  1318. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(RM_AFTTargetService)"\Parameters\iAFTProtocol" $(MAXIMUM_ALLOWED) RM_AFTProtoKeySvc
  1319. ifstr $(RM_AFTProtoKeySvc) != $(KeyNull)
  1320. GetRegValue $(RM_AFTProtoKeySvc) "Connect" ValueList
  1321. set RM_AFTcurrent = *($(ValueList),4)
  1322. ifstr $(RM_AFTcurrent) == $(RM_AFTVictim)
  1323. ifstr(i) $(EnableBindings) == "TRUE"
  1324. set EnableBindings = "FALSE"
  1325. Shell $(UtilityInf), FindService, "NetBT", "protocol"
  1326. ifstr $($R0) != $(KeyNull)
  1327. Shell "", EnableDisableBindings, "LanmanWorkstation", "\Device\NetBT_"$(RM_AFTTargetService), "activate"
  1328. Shell "", EnableDisableBindings, "LanmanServer", "\Device\NetBT_"$(RM_AFTTargetService), "activate"
  1329. Shell "", EnableDisableBindings, "NetBIOS", "\Device\NetBT_"$(RM_AFTTargetService), "activate"
  1330. Shell "", EnableDisableBindings, "RemoteAccess", "\Device\NetBT_"$(RM_AFTTargetService), "activate"
  1331. endif
  1332. Shell $(UtilityInf), FindService, "Nbf", "protocol"
  1333. ifstr $($R0) != $(KeyNull)
  1334. Shell "", EnableDisableBindings, "LanmanWorkstation", "\Device\Nbf_"$(RM_AFTTargetService), "activate"
  1335. Shell "", EnableDisableBindings, "LanmanServer", "\Device\Nbf_"$(RM_AFTTargetService), "activate"
  1336. Shell "", EnableDisableBindings, "NetBIOS", "\Device\Nbf_"$(RM_AFTTargetService), "activate"
  1337. Shell "", EnableDisableBindings, "RemoteAccess", "\Device\Nbf_"$(RM_AFTTargetService), "activate"
  1338. endif
  1339. Shell "", EnableDisableBindings, "Nbf", "\Device\"$(RM_AFTTargetService), "activate"
  1340. Shell "", EnableDisableBindings, "NwlnkIpx", "\Device\"$(RM_AFTTargetService), "activate"
  1341. Shell "", EnableDisableBindings, "Tcpip", "\Device\"$(RM_AFTTargetService), "activate"
  1342. Shell "", EnableDisableBindings, "AppleTalk", "\Device\"$(RM_AFTTargetService), "activate"
  1343. Shell "", EnableDisableBindings, "NetBT", "\Device\"$(RM_AFTTargetService), "activate"
  1344. Shell "", EnableDisableBindings, "bh", "\Device\"$(RM_AFTTargetService), "activate"
  1345. Shell "", EnableDisableBindings, "DLC", "\Device\"$(RM_AFTTargetService), "activate"
  1346. Shell "", EnableDisableBindings, "Streams", "\Device\"$(RM_AFTTargetService), "activate"
  1347. Shell "", EnableDisableBindings, "iAFTProtocol", "\Device\"$(RM_AFTTargetService), "disable"
  1348. CloseRegKey $(RM_AFTProtoKeySvc)
  1349. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(RM_AFTTargetService)"\Parameters\" $(MAXIMUM_ALLOWED) RM_AFTProtoKeySvc2
  1350. DeleteRegKey $(RM_AFTProtoKeySvc2) "iAFTProtocol"
  1351. CloseRegKey $(RM_AFTProtoKeySvc2)
  1352. endif
  1353. endif
  1354. endif
  1355. endif
  1356. goto RM_AFTjmp2
  1357. else
  1358. ifint $(rm_AFTstartnum) != "10"
  1359. set-add rm_AFTstartnum = $(rm_AFTstartnum), 1
  1360. goto RM_AFTjmp2
  1361. endif
  1362. endif  
  1363. Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), $(ProductATeamHardwareName), $(!NTN_RegBase)
  1364. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1365. Debug-Output "ShellCode error"
  1366. goto ShellCodeError
  1367. endif
  1368. set RegistryErrorIndex = $($R0)
  1369. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1370. goto fatalregistry
  1371. endif
  1372. OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\"$(ProductATeamSoftwareName) $(MAXIMUM_ALLOWED) Rm_AFTServiceKey
  1373. Ifstr $(Rm_AFTServiceKey) == $(KeyNull)
  1374. Debug-Output "RemoveService iAFTProtocol"
  1375. Shell $(UtilityInf), RemoveService,$(ProductATeamTransportName), "NO"
  1376. Debug-Output "RemoveSoftwareComponent iAFTProtocol"
  1377. Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), $(ProductATeamTransportName)
  1378. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1379. Debug-Output "ShellCode error"
  1380. goto ShellCodeError
  1381. endif
  1382. set RegistryErrorIndex = $($R0)
  1383. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1384. goto fatalregistry
  1385. endif
  1386. else
  1387. GetRegValue $(Rm_AFTServiceKey) "DeleteFlag" ValueList
  1388. ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  1389. set RM_AFTflagpresent = *($(ValueList),4)
  1390. ifstr $(RM_AFTflagpresent) == "1"
  1391. Debug-Output "RemoveService iAFTProtocol"
  1392. Shell $(UtilityInf), RemoveService,$(ProductATeamTransportName), "NO"
  1393. Debug-Output "RemoveSoftwareComponent iAFTProtocol"
  1394. Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), $(ProductATeamTransportName)
  1395. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1396. Debug-Output "ShellCode error"
  1397. goto ShellCodeError
  1398. endif
  1399. set RegistryErrorIndex = $($R0)
  1400. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1401. goto fatalregistry
  1402. endif
  1403. endif                         
  1404. endif
  1405. endif
  1406. CloseRegKey $(Rm_AFTServiceKey)
  1407. goto end
  1408. else
  1409. Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), $(ProductSoftwareName), $(!NTN_RegBase)
  1410. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1411. goto ShellCodeError
  1412. endif
  1413. set RegistryErrorIndex = $($R0)
  1414. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1415. goto fatalregistry
  1416. endif
  1417. endif
  1418. endif
  1419. endif
  1420. goto end
  1421. UpgradeSoftware = +
  1422. OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  1423. Ifstr $(KeyProduct) != $(KeyNull)
  1424. Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
  1425. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1426. Debug-Output "ShellCode error"
  1427. goto ShellCodeError
  1428. endif
  1429. set !UG_Filename = $($R0)
  1430. install "Install-Update"
  1431. ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  1432. goto fatal
  1433. endif
  1434. OpenRegKey $(!REG_H_LOCAL) "" $(PROSetKeyName)"\"Adapters $(MAXIMUM_ALLOWED) PROSetAdapterKey
  1435. ifstr $(PROSetAdapterKey) == $(KeyNull)
  1436. CreateRegKey $(!REG_H_LOCAL) {$(PROSetKeyName)"\"Adapters,0,GenericClass} "" +
  1437. $(MAXIMUM_ALLOWED) "" PROSetAdapterKey
  1438. ifstr $(PROSetAdapterKey) == $(KeyNull)
  1439. Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" CreateRegAdapterFailed
  1440. goto fatalregistry
  1441. endif      
  1442. endif
  1443. set NewValueList = {{$(PROSetAdapterName),$(NoTitle), $(!REG_VT_SZ), $(Adapter)}}
  1444. Shell  $(UtilityInf), AddValueList, $(PROSetAdapterKey), $(NewValueList)
  1445. CloseRegKey $(PROSetAdapterKey)
  1446. OpenRegKey $(!REG_H_LOCAL) "" $(PROSetKeyName)"\"$(PROSetAdapterName) $(MAXIMUM_ALLOWED) PROSetAdapterKey
  1447. ifstr $(PROSetAdapterKey) == $(KeyNull)
  1448. CreateRegKey $(!REG_H_LOCAL) {$(PROSetKeyName)"\"$(PROSetAdapterName),0,GenericClass} "" +
  1449. $(MAXIMUM_ALLOWED) "" PROSetAdapterKey
  1450. ifstr $(PROSetAdapterKey) == $(KeyNull)
  1451. Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" CreateRegEPRO10Failed
  1452. goto fatalregistry
  1453. endif
  1454. endif
  1455. set NewValueList = {{Configure,$(NoTitle),$(!REG_VT_SZ),$(Configure)},+
  1456. {Detect,$(NoTitle),$(!REG_VT_SZ),$(Detect)},+
  1457. {Diagnose,$(NoTitle),$(!REG_VT_SZ),$(Diagnose)},+
  1458. {DLL,$(NoTitle),$(!REG_VT_SZ),$(DLL)},+
  1459. {Help,$(NoTitle),$(!REG_VT_SZ),$(Help)},+
  1460. {RegistryKey,$(NoTitle),$(!REG_VT_SZ),$(RegistryKey)},+
  1461. {AdapterDescription,$(NoTitle),$(!REG_VT_SZ),$(AdapterDescription)},+
  1462. {InstallAnyway,$(NoTitle),$(!REG_VT_SZ),$(InstallAnyway)},+
  1463. {DeviceExist,$(NoTitle),$(!REG_VT_SZ),$(DeviceExist)},+
  1464. {GetExtendedFeatures,$(NoTitle),$(!REG_VT_SZ),$(GetExtendedFeatures)},+
  1465. {Summary,$(NoTitle),$(!REG_VT_SZ),$(Summary)}}
  1466. Shell  $(UtilityInf), AddValueList, $(PROSetAdapterKey), $(NewValueList)
  1467. CloseRegKey $(PROSetAdapterKey)
  1468. Shell "", FindOutdatedRegistryEntries
  1469. ifint $($R0) == -1
  1470. LoadLibrary "Intel EtherExpress PRO Adapter Driver Disk" $(!STF_WINDOWSSYSPATH)\epro100.dll DllLibHandle
  1471. LibraryProcedure DllExitStr $(DllLibHandle) AddSlots
  1472. FreeLibrary $(DllLibHandle)
  1473. endif
  1474. SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  1475. SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  1476. CloseRegKey $(KeyProduct)
  1477. else
  1478. goto fatalregistry
  1479. endif
  1480. goto end
  1481. successful = +
  1482. goto end
  1483. abandon = +
  1484. ForListDo $(OEM_ABANDON_OPTIONS)
  1485. Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  1486. $(ProductSoftwareName), $($)
  1487. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1488. goto ShellCodeError
  1489. endif
  1490. set RegistryErrorIndex = $($R0)
  1491. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1492. goto fatalregistry
  1493. endif
  1494. EndForListDo
  1495. Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  1496. Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  1497. $(ProductSoftwareName), FALSE
  1498. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1499. goto ShellCodeError
  1500. endif
  1501. set RegistryErrorIndex = $($R0)
  1502. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1503. goto fatalregistry
  1504. endif
  1505. endif
  1506. goto end
  1507. warning = +
  1508. Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  1509. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1510. goto ShellCodeError
  1511. endif
  1512. ifstr(i) $($R1) == "OK"
  1513. goto $(to)
  1514. else-ifstr(i) $($R1) == "CANCEL"
  1515. goto $(from)
  1516. else
  1517. goto "end"
  1518. endif
  1519. nonfatalinfo = +
  1520. Set Severity = STATUS
  1521. Set CommonStatus = STATUS_USERCANCEL
  1522. goto nonfatalmsg
  1523. nonfatal = +
  1524. Set Severity = NONFATAL
  1525. goto nonfatalmsg
  1526. nonfatalmsg = +
  1527. ifstr(i) $(Error) == ""
  1528. Set Severity = NONFATAL
  1529. Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1530. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1531. goto ShellCodeError
  1532. endif
  1533. set Error = $($R0)
  1534. endif
  1535. Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  1536. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1537. goto ShellCodeError
  1538. endif
  1539. ifstr(i) $($R1) == "OK"
  1540. goto $(from)
  1541. else
  1542. goto "end"
  1543. endif
  1544. fatalregistry = +
  1545. Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  1546. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1547. goto ShellCodeError
  1548. endif
  1549. set Error = $($R0)
  1550. goto fatal
  1551. fataldetect = +
  1552. Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
  1553. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1554. goto ShellCodeError
  1555. endif
  1556. set Error = $($R0)
  1557. Goto fatal
  1558. fatal = +
  1559. ifstr(i) $(Error) == ""
  1560. Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1561. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1562. goto ShellCodeError
  1563. endif
  1564. set Error = $($R0)
  1565. endif
  1566. Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  1567. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1568. goto ShellCodeError
  1569. endif
  1570. goto setfailed
  1571. ShellCodeError = +
  1572. set DlgType      = "MessageBox"
  1573. set STF_MB_TITLE = "Error: "$(FunctionTitle)
  1574. set STF_MB_TEXT  = "Shell Code Error"
  1575. set STF_MB_TYPE  = 1
  1576. set STF_MB_ICON  = 3
  1577. set STF_MB_DEF   = 1
  1578. ui start "Error Message"
  1579. goto setfailed
  1580. setfailed = +
  1581. set CommonStatus = STATUS_FAILED
  1582. ifstr(i) $(OEM_ABANDON_ON) == TRUE
  1583. set OEM_ABANDON_ON = FALSE
  1584. goto abandon
  1585. endif
  1586. goto end
  1587. end = +
  1588. goto term
  1589. term = +
  1590. Return $(CommonStatus)
  1591. [BindingsReview]
  1592. set Option   = $($1)
  1593. set SrcDir   = $($2)
  1594. set AddCopy  = $($3)
  1595. set DoCopy   = $($4)
  1596. set DoConfig = $($5)
  1597. set Status = $($R0)
  1598. Return $(Status)
  1599. [DebugConfiguration]
  1600. return
  1601. [Install-Option]
  1602. set STF_OVERWRITE = VERIFYSOURCEOLDER
  1603. set STF_VITAL = ""
  1604. ifstr(i) $(AddCopy) == "YES"
  1605. ifcontains(i) $(m_WinNTVersion) not-in {"3.50", "3.51"}
  1606. AddSectionFilesToCopyList Files-N3NDIS4 $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1607. else
  1608. AddSectionFilesToCopyList Files-N3NDIS3 $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1609. endif
  1610. AddSectionFilesToCopyList Files-Exe $(SrcDir)  $(!STF_WINDOWSSYSPATH)
  1611. AddSectionFilesToCopyList Files-Exe-Drivers $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1612. endif
  1613. ifstr(i) $(DoCopy) == "YES"
  1614. set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1615. CopyFilesInCopyList
  1616. else
  1617. ifcontains(i) $(m_WinNTVersion) not-in {"3.50", "3.51"}
  1618. LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\$(Path)$(ExeName).EXE  $(!STF_WINDOWSSYSPATH)\$(ExeName).EXE
  1619. LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\$(Path)$(Sp1Name).DLL  $(!STF_WINDOWSSYSPATH)\$(Sp1Name).DLL             
  1620. LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\$(Path)$(ProdHelp).HLP $(!STF_WINDOWSSYSPATH)\$(ProdHelp).HLP
  1621. LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\$(Path)$(GenHelp).HLP $(!STF_WINDOWSSYSPATH)\$(GenHelp).HLP
  1622. LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\$(Path)$(DllName).DLL  $(!STF_WINDOWSSYSPATH)\$(DllName).DLL
  1623. LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\$(Path)$(Sp3Name).SYS  $(!STF_WINDOWSSYSPATH)\DRIVERS\$(Sp3Name).SYS
  1624. LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\$(Path)$(KddName).SYS  $(!STF_WINDOWSSYSPATH)\DRIVERS\$(KddName).SYS
  1625. endif
  1626. endif
  1627. Exit
  1628. [Install-Update]
  1629. set STF_VITAL        = ""
  1630. set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  1631. ifcontains(i) $(m_WinNTVersion) not-in {"3.50", "3.51"}
  1632. AddSectionFilesToCopyList Files-N3NDIS4 $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1633. else
  1634. AddSectionFilesToCopyList Files-N3NDIS3 $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1635. endif
  1636. AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1637. AddSectionFilesToCopyList Files-Exe $(SrcDir)  $(!STF_WINDOWSSYSPATH)
  1638. AddSectionFilesToCopyList Files-Exe-Drivers $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1639. set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1640. CopyFilesInCopyList
  1641. exit
  1642. [FindPciE100B]
  1643. read-syms GeneralConstants
  1644. read-syms FileConstants
  1645. set VendorID = 32902    
  1646. set DeviceID = 4649    
  1647. set MultiAdapter = "HARDWARE\Description\System\MultifunctionAdapter"
  1648. set InfoList = {}
  1649. OpenRegKey $(!REG_H_LOCAL) "" $(MultiAdapter) $(MAXIMUM_ALLOWED) KeyMultiAdapter
  1650. Ifstr $(KeyMultiAdapter) == $(KeyNull)
  1651. goto FindPciE100B_end
  1652. endif
  1653. EnumRegKey $(KeyMultiAdapter) BusList
  1654. set BusNum = 0
  1655. set index = 0
  1656. ForListDo $(BusList)
  1657. OpenRegKey $(!REG_H_LOCAL) "" $(MultiAdapter)"\"$(index) $(MAXIMUM_ALLOWED) KeyMultiAdapterBus
  1658. GetRegValue $(KeyMultiAdapterBus) "Identifier" IdentifierInfo
  1659. ifstr(i) *($(IdentifierInfo),4) == "PCI"
  1660. set function = 0
  1661. set device = 0
  1662. FindPciE100B_again = +
  1663. ifint $(device) < 32
  1664. LibraryProcedure Result, $(!LIBHANDLE), GetPciInformation, $(BusNum), $(device), $(function)
  1665. ifint *($(Result),1) == $(VendorID)
  1666. ifint *($(Result),2) == $(DeviceID)
  1667. set InfoList = >($(InfoList),{$(BusNum),$(device),0})
  1668. endif
  1669. endif
  1670. Set-add device = $(device),1
  1671. goto FindPciE100B_again
  1672. endif
  1673. set-add BusNum = $(BusNum),1
  1674. endif
  1675. set-add index = $(index),1
  1676. EndForListDo
  1677. CloseRegKey $(KeyMultiAdapter)
  1678. FindPciE100B_end = +
  1679. return $(InfoList)
  1680. [EnableDisableBindings]
  1681. read-syms GeneralConstants
  1682. read-syms FileConstants
  1683. set m_ServiceName = $($0)
  1684. set m_BindingString = $($1)
  1685. set m_Action = $($2)
  1686. ifstr(i) $(m_Action) == "disable"
  1687. set m_Linkage = "\Linkage"
  1688. else
  1689. set m_Linkage = "\Linkage\Disabled"
  1690. endif
  1691. Shell $(UtilityInf), FindService, $(m_ServiceName), "protocol"
  1692. ifstr $($R0) != $(KeyNull)
  1693. Set m_BindList = {}
  1694. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(m_ServiceName)$(m_Linkage) $(MAXIMUM_ALLOWED) m_KeySvc
  1695. GetRegValue $(m_KeySvc), "Bind", m_TempList
  1696. Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  1697. Set m_BindList = *($(m_TempList),4)
  1698. set m_found = "FALSE"
  1699. ForListDo $(m_BindList)
  1700. ifstr(i) $(m_found) == "FALSE"
  1701. ifstr(i) $($) == $(m_BindingString)
  1702. Shell $(UtilityInf), ToggleBinding, $(m_ServiceName), $(#), $(m_Action)
  1703. set m_found = "TRUE"
  1704. endif
  1705. endif
  1706. EndForListDo
  1707. Endif
  1708. CloseRegKey $(m_KeySvc)
  1709. endif
  1710. return
  1711. [FindOutdatedRegistryEntries]
  1712. read-syms GeneralConstants
  1713. read-syms FileConstants
  1714. set ReturnValue = 0
  1715. set scanstartnum = "1"
  1716. RegCheckjmp = +
  1717. Shell $(UtilityInf), FindNextNetworkCard, "e100b", $(scanstartnum)
  1718. ifstr $($R0) != $(KeyNull)
  1719. GetRegValue $($R0) "ServiceName" ValueList
  1720. set scanTargetService = *($(ValueList),4)
  1721. Debug-Output "scanTargetService: $(scanTargetService)"
  1722. CloseRegKey $($R0)
  1723. set scanstartnum = $($R1)
  1724. Shell $(UtilityInf), FindService, $(scanTargetService), "adapter"
  1725. ifstr $($R0) != $(KeyNull)
  1726. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(scanTargetService)"\Parameters" $(MAXIMUM_ALLOWED) scanProtoKeySvc
  1727. Ifstr $(scanProtoKeySvc) != $(KeyNull)
  1728. GetRegValue $(scanProtoKeySvc) "Eid" EidValue
  1729. Ifstr $(EidValue) != $(KeyNull) 
  1730. GetRegValue $(scanProtoKeySvc) "SlotNumber" SlotValue
  1731. Ifstr $(SlotValue) == $(KeyNull) 
  1732. set ReturnValue = -1
  1733. endif
  1734. endif
  1735. endif
  1736. endif
  1737. goto RegCheckjmp
  1738. else
  1739. ifint $(scanstartnum) != "10"
  1740. set-add scanstartnum = $(scanstartnum), 1
  1741. goto RegCheckjmp
  1742. endif
  1743. endif  
  1744. return $(ReturnValue)
  1745. [PruneLoopbackBinding]
  1746. read-syms GeneralConstants
  1747. read-syms FileConstants
  1748. set ProtocolEdgeName = $($0)
  1749. set MiniportEdgeName = $($1)
  1750. startpruningloopback = +
  1751. Set BA_BindList = {}
  1752. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProtocolEdgeName)"\Linkage" $(MAXIMUM_ALLOWED) BA_KeySvc
  1753. GetRegValue $(BA_KeySvc), "Bind", TempValue
  1754. Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  1755. Set BA_BindList = *($(TempValue),4)
  1756. Endif
  1757. set BA_found = "FALSE"
  1758. ForListDo $(BA_BindList)
  1759. ifstr(i) $(BA_found) == "FALSE"
  1760. Split-String $($) "0123456789\" BA_TestItem
  1761. ifcontains(i) $(MiniportEdgeName) in $(BA_TestItem)
  1762. Shell $(UtilityInf), ToggleBinding, $(ProtocolEdgeName), $(#), "disable"
  1763. set BA_AFTfound = "TRUE"
  1764. endIf
  1765. endif
  1766. EndForListDo
  1767. CloseRegKey $(BA_KeySvc)
  1768. ifstr(i) $(BA_found) == "TRUE"
  1769. goto startpruningloopback
  1770. endif
  1771. return
  1772. [PruneEverything]
  1773. read-syms GeneralConstants
  1774. read-syms FileConstants
  1775. set ServiceToBePruned = $($0)
  1776. Debug-Output "INF:  ServiceToBePruned : "$(ServiceToBePruned)
  1777. Shell $(UtilityInf), FindService, "NetBT", "protocol"
  1778. ifstr $($R0) != $(KeyNull)
  1779. Shell "", EnableDisableBindings, "LanmanWorkstation", "\Device\NetBT_"$(ServiceToBePruned), "disable"
  1780. Shell "", EnableDisableBindings, "LanmanServer", "\Device\NetBT_"$(ServiceToBePruned), "disable"
  1781. Shell "", EnableDisableBindings, "NetBIOS", "\Device\NetBT_"$(ServiceToBePruned), "disable"
  1782. Shell "", EnableDisableBindings, "RemoteAccess", "\Device\NetBT_"$(ServiceToBePruned), "disable"
  1783. endif
  1784. Shell $(UtilityInf), FindService, "Nbf", "protocol"
  1785. ifstr $($R0) != $(KeyNull)
  1786. Shell "", EnableDisableBindings, "LanmanWorkstation", "\Device\Nbf_"$(ServiceToBePruned), "disable"
  1787. Shell "", EnableDisableBindings, "LanmanServer", "\Device\Nbf_"$(ServiceToBePruned), "disable"
  1788. Shell "", EnableDisableBindings, "NetBIOS", "\Device\Nbf_"$(ServiceToBePruned), "disable"
  1789. Shell "", EnableDisableBindings, "RemoteAccess", "\Device\Nbf_"$(ServiceToBePruned), "disable"
  1790. endif
  1791. set ServicesStr = "SYSTEM\CurrentControlSet\Services"
  1792. OpenRegKey $(!REG_H_LOCAL) "" $(ServicesStr) $(MAXIMUM_ALLOWED) ServicesKey
  1793. Ifstr $(ServicesKey) == $(KeyNull)
  1794. goto FindPciE100SERVER_end
  1795. endif
  1796. EnumRegKey $(ServicesKey) ServicesList
  1797. ForListDo $(ServicesList)
  1798. set TempTargetService = *($($),1)
  1799. ifstr(i) $(TempTargetService) != "E100B"
  1800. set TargetServiceString = "SYSTEM\CurrentControlSet\Services\"$(TempTargetService)"\Linkage"
  1801. Debug-Output "INF:  TargetServiceString: "$(TargetServiceString)
  1802. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(TempTargetService)"\Linkage" $(MAXIMUM_ALLOWED) ServiceLinkageKey
  1803. GetRegValue $(ServiceLinkageKey), "Bind", TempValue
  1804. Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  1805. Set ServiceBindList = *($(TempValue),4)
  1806. ForListDo $(ServiceBindList)
  1807. Split-String $($) "\" TestItem
  1808. Debug-Output "INF:  Test Item List: "$(TestItem)
  1809. ifcontains(i) $(ServiceToBePruned) in $(TestItem)
  1810. Debug-Output "INF:  Disabling binding between: "$(ServiceToBePruned)" and "$(TempTargetService)
  1811. Shell "", EnableDisableBindings, $(TempTargetService), "\Device\"$(ServiceToBePruned), "disable"
  1812. endIf
  1813. EndForListDo
  1814. Endif
  1815. CloseRegKey $(ServiceLinkageKey)
  1816. endif
  1817. EndForListDo
  1818. return
  1819.